Skip to content

Add a fast path for comparing fields in “transition: all”.#57560

Merged
chromium-wpt-export-bot merged 1 commit intomasterfrom
chromium-export-cl-7493822
Feb 4, 2026
Merged

Add a fast path for comparing fields in “transition: all”.#57560
chromium-wpt-export-bot merged 1 commit intomasterfrom
chromium-export-cl-7493822

Conversation

@chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Feb 4, 2026

If the author writes “transition: all”, we essentially treat that
as a shorthand with 100+ longhands. However, most of the time,
almost all of those longhands will end up early-aborting due to
the old and new properties being the same. Do that comparison
up-front instead; this allows us to skip entire groups if they
are shared, and also allows straight-line comparison code
instead of going through a large switch every time.

Speedometer3 (M1 Pinpoint, LTO but no PGO, significant results
at 99% CI only):

TodoMVC-Preact-Complex-DOM [ -1.3%, -0.0%]
TodoMVC-JavaScript-ES6-Webpack-Complex-DOM [ -1.0%, -0.2%]
NewsSite-Next [ -1.6%, -1.1%]
NewsSite-Nuxt [ -1.6%, -1.3%]

Score [ +0.1%, +0.4%]

Bug: 475091954
Change-Id: Iea61d1455265443c131729ae63c20bcbc39deaea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7493822
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1579359}

If the author writes “transition: all”, we essentially treat that
as a shorthand with 100+ longhands. However, most of the time,
almost all of those longhands will end up early-aborting due to
the old and new properties being the same. Do that comparison
up-front instead; this allows us to skip entire groups if they
are shared, and also allows straight-line comparison code
instead of going through a large switch every time.

Speedometer3 (M1 Pinpoint, LTO but no PGO, significant results
at 99% CI only):

  TodoMVC-Preact-Complex-DOM                  [ -1.3%,  -0.0%]
  TodoMVC-JavaScript-ES6-Webpack-Complex-DOM  [ -1.0%,  -0.2%]
  NewsSite-Next                               [ -1.6%,  -1.1%]
  NewsSite-Nuxt                               [ -1.6%,  -1.3%]

  Score                                       [ +0.1%,  +0.4%]

Bug: 475091954
Change-Id: Iea61d1455265443c131729ae63c20bcbc39deaea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7493822
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1579359}
Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

@chromium-wpt-export-bot chromium-wpt-export-bot merged commit b87d0b3 into master Feb 4, 2026
27 checks passed
@chromium-wpt-export-bot chromium-wpt-export-bot deleted the chromium-export-cl-7493822 branch February 4, 2026 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants